<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组计算交集</title>
</head>
<body>
    <script>
        // 输出结果中的每个元素一定是唯一的。
        // 输入：nums1 = [1,2,2,1], nums2 = [2,2]  输出：[2]
        // 1.去重 2.输出去重的数字
        var num1=[1,2,2,6,5,8];
        var num2=[2,2,4,6,5,1,7,9];
          /*
            arr.filter(function(item,index,array){
                return 条件
            })
            item:都表示数组的每一项数据
            index：数据的索引
            array：原始数组
            返回值： 以一个数组的形式返回满足条件的数据
         */
        var res =num1.filter(function (item, index) {
            return (num2.indexOf(item)!==-1)
        });
          /* 
            arr.reduce(function(pre,cur,index){
                return 表达式
            },参数2)
            pre：上一次执行返回的值，最初是的状态是一个变量，第一次循环pre的值为 参数2，如果没有参数2，pre的默认为 数组第一个数据
            cur :当前的值 每次循环是 数组里面对应的数据

            参数2 给pre 赋值一个初始值

            返回值：return后面表达式的结果
         */
        var res1=res.reduce(function(pre,cur){
            return(pre.indexOf(cur)===-1)?pre.concat(cur):pre
        },[]);
    </script>
    
</body>
</html>